package main

import (
	"fmt"
	"net/http"
)

// 定义一个处理函数，用于响应 HTTP 请求
func helloHandler(w http.ResponseWriter, r *http.Request) {
	// 检查请求的路径是否为根路径 "/"
	if r.URL.Path != "/" {
		// 如果不是根路径，返回 404 Not Found
		http.NotFound(w, r)
		return
	}

	// 检查请求方法是否为 GET
	if r.Method != "GET" {
		// 如果不是 GET 方法，返回 405 Method Not Allowed
		http.Error(w, "仅支持 GET 方法", http.StatusMethodNotAllowed)
		return
	}

	// 设置响应头 Content-Type 为 text/plain
	w.Header().Set("Content-Type", "text/plain; charset=utf-8")

	// 向客户端写入响应内容
	fmt.Fprintln(w, "Hello, World! 这是一个简单的 HTTP 服务。")
}

// func main() {
// 	// 将根路径 "/" 的请求映射到 helloHandler 函数
// 	http.HandleFunc("/", helloHandler)

// 	// 打印启动信息
// 	fmt.Println("服务器正在启动...")
// 	fmt.Println("请在浏览器中访问: http://localhost:8080")
// 	fmt.Println("按 Ctrl+C 停止服务器")

// 	// 启动 HTTP 服务器，监听 8080 端口
// 	// 第二个参数 nil 表示使用 DefaultServeMux（默认的请求多路复用器）
// 	err := http.ListenAndServe(":8080", nil)
// 	if err != nil {
// 		// 如果启动服务器出错（例如端口被占用），记录错误并退出
// 		log.Fatal("服务器启动失败: ", err)
// 	}
// }
